#pragma once

#include "Vector.h"
#include "RenderableObject.h"

class CRay
{
public:
	CVector Origin;
	CVector Direction;
	double intensity;
	int DepthInObject;
	unsigned int BounceThreshold;
	CRay(){BounceThreshold=0;DepthInObject=0;};
	std::map<CRenderableObject*,double> Obj_HitDistance;
	bool operator!=(const CRay rhs) const
	{
		if(Origin!=rhs.Origin)
			return true;
		if(Direction!=rhs.Direction)
			return true;
		if(intensity!=rhs.intensity)
			return true;
		if(BounceThreshold!=rhs.BounceThreshold)
			return true;
		return false;
	};
};
